﻿Public Class CuentaContable

    Private m_codigo As String
    Private m_descripcion As String
    Private m_saldo As Double

    ''' <summary>
    ''' Constructor Vacio de CuentaContable.
    ''' </summary>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Sub New()

    End Sub

    ''' <summary>
    ''' Constructor Sobrecargado de CuentaContable.
    ''' </summary>
    ''' <param name="p_codigo">Codigo de la cuenta contable.</param>
    ''' <param name="p_descripcion">Descripcion de la cuenta contable.</param>
    ''' <param name="p_saldo">Saldo de la cuenta contable.</param>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Sub New(ByVal p_codigo As String, ByVal p_descripcion As String, ByVal p_saldo As Double)

        m_codigo = p_codigo
        m_descripcion = p_descripcion
        m_saldo = p_saldo

    End Sub

    ''' <summary>
    ''' Codigo.
    ''' </summary>
    ''' <value>Codigo.</value>
    ''' <returns>Codigo.</returns>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Property codigo() As String
        Get
            Return m_codigo
        End Get
        Set(ByVal p_codigo As String)
            m_codigo = p_codigo
        End Set
    End Property

    ''' <summary>
    ''' Descripcion.
    ''' </summary>
    ''' <value>Descripcion.</value>
    ''' <returns>Desripcion.</returns>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Property descripcion() As String
        Get
            Return m_descripcion
        End Get
        Set(ByVal p_descripcion As String)
            m_descripcion = p_descripcion
        End Set
    End Property

    ''' <summary>
    ''' Saldo.
    ''' </summary>
    ''' <value>Saldo.</value>
    ''' <returns>Saldo.</returns>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Property saldo() As Double
        Get
            Return m_saldo
        End Get
        Set(ByVal p_saldo As Double)
            m_saldo = p_saldo
        End Set
    End Property

    ''' <summary>
    ''' Descompone el objeto en un Hashtable.
    ''' </summary>
    ''' <param name="p_cuenta">Objeto de tipo CuentaContable a descomponer en datos.</param>
    ''' <returns>Hashtable que contiene los datos del objeto.</returns>
    ''' <remarks>Creado Por: Roberto Fiatt, Fecha: 12/06/2010</remarks>
    Public Function toHashTable(ByVal p_cuenta As CuentaContable) As Hashtable
        Dim datoCuenta As New Hashtable()

        datoCuenta.Add("codigo", p_cuenta.codigo)
        datoCuenta.Add("descripcion", p_cuenta.descripcion)
        datoCuenta.Add("saldo", p_cuenta.saldo)

        Return datoCuenta
    End Function

End Class
